2,688 research outputs found
A Petri Nets Model for Blockchain Analysis
A Blockchain is a global shared infrastructure where cryptocurrency
transactions among addresses are recorded, validated and made publicly
available in a peer- to-peer network. To date the best known and important
cryptocurrency is the bitcoin. In this paper we focus on this cryptocurrency
and in particular on the modeling of the Bitcoin Blockchain by using the Petri
Nets formalism. The proposed model allows us to quickly collect information
about identities owning Bitcoin addresses and to recover measures and
statistics on the Bitcoin network. By exploiting algebraic formalism, we
reconstructed an Entities network associated to Blockchain transactions
gathering together Bitcoin addresses into the single entity holding permits to
manage Bitcoins held by those addresses. The model allows also to identify a
set of behaviours typical of Bitcoin owners, like that of using an address only
once, and to reconstruct chains for this behaviour together with the rate of
firing. Our model is highly flexible and can easily be adapted to include
different features of the Bitcoin crypto-currency system
ABCDE -- Agile Block Chain Dapp Engineering
Cryptocurrencies and their foundation technology, the Blockchain, are
reshaping finance and economics, allowing a decentralized approach enabling
trusted applications with no trusted counterpart. More recently, the Blockchain
and the programs running on it, called Smart Contracts, are also finding more
and more applications in all fields requiring trust and sound certifications.
Some people have come to the point of saying that the "Blockchain revolution"
can be compared to that of the Internet and the Web in their early days. As a
result, all software development revolving around the Blockchain technology is
growing at a staggering rate. The feeling of many software engineers about such
huge interest in Blockchain technologies is that of unruled and hurried
software development, a sort of competition on a first-come-first-served basis
which does not assure neither software quality, nor that the basic concepts of
software engineering are taken into account. This paper tries to cope with this
issue, proposing a software development process to gather the requirement,
analyze, design, develop, test and deploy Blockchain applications. The process
is based on several Agile practices, such as User Stories and iterative and
incremental development based on them. However, it makes also use of more
formal notations, such as some UML diagrams describing the design of the
system, with additions to represent specific concepts found in Blockchain
development. The method is described in good detail, and an example is given to
show how it works.Comment: 26 pages, 7 figures, 8 table
An empirical study of social networks metrics in object-oriented software
We study the application to object-oriented software of new metrics, derived from Social Network Analysis. Social Networks metrics, as for instance, the EGO metrics, allow to identify the role of each single node in the information flow through the network, being related to software modules and their dependencies. These metrics are compared with other traditional software metrics, like the Chidamber-Kemerer suite, and software graph metrics. We examine the empirical distributions of all the metrics, bugs included, across the software modules of several releases of two large Java systems, Eclipse and Netbeans. We provide analytical distribution functions suitable for describing and studying the observed distributions. We study also correlations among metrics and bugs. We found that the empirical distributions systematically show fat-tails for all the metrics. Moreover, the various metric distributions look very similar and consistent across all system releases and are also very similar in both the studied systems. These features appear to be typical properties of these software metrics
CMOS Interface Circuits for High-Voltage Automotive Signals
Abstract: The acquisition of high-voltage signals from sensors and actuators in an internal-combustion
engine is often required for diagnostic purposes or in the case of conversion to alternative fuels,
such as hydrogen, natural gas, or biogas. The integration of electronic interfaces and acquisition
circuits in a single device provides benefits in terms of component-count reduction and performance.
Nonetheless, the high voltage level of the involved signals makes on-chip design challenging. Addi-
tionally, the circuits should be compatible with the CMOS technology, with limited use of high-voltage
options and a minimum number of off-chip components. This paper describes the design and the
implementation in 350 nm CMOS technology of electronic interfaces and acquisition circuits for
typical high-voltage signals of automotive context. In particular, a novel co-design of dedicated
voltage clamps with electro-static discharge (ESD) protections is described. The proposed circuits
require only a single off-chip resistor, and they are suitable for the acquisition of signals with peak
voltages up to 400 V. The measured performance of the silicon prototypes, in the [−40 °C, +125 °C]
temperature range, make the proposed electronic interfaces suitable for the automotive domain
The ICO Phenomenon and Its Relationships with Ethereum Smart Contract Environment
Initial Coin Offerings (ICO) are public offers of new cryptocurrencies in
exchange of existing ones, aimed to finance projects in the blockchain
development arena. In the last 8 months of 2017, the total amount gathered by
ICOs exceeded 4 billion US$, and overcame the venture capital funnelled toward
high tech initiatives in the same period. A high percentage of ICOS is managed
through Smart Contracts running on Ethereum blockchain, and in particular to
ERC-20 Token Standard Contract. In this work we examine 1388 ICOs, published on
December 31, 2017 on icobench.com Web site, gathering information relevant to
the assessment of their quality and software development management, including
data on their development teams. We also study, at the same date, the financial
data of 450 ICO tokens available on coinmarketcap.com Web site, among which 355
tokens are managed on Ethereum blochain. We define success criteria for the
ICOs, based on the funds actually gathered, and on the behavior of the price of
the related tokens, finding the factors that most likely influence the ICO
success likeliness
Smart Contracts Software Metrics: a First Study
© 2018 The Author(s).Smart contracts (SC) are software codes which reside and run over a blockchain. The code can be written in different languages with the common purpose of implementing various kinds of transactions onto the hosting blockchain, They are ruled by the blockchain infrastructure and work in order to satisfy conditions typical of traditional contracts. The software code must satisfy constrains strongly context dependent which are quite different from traditional software code. In particular, since the bytecode is uploaded in the hosting blockchain, size, computational resources, interaction between different parts of software are all limited and even if the specific software languages implement more or less the same constructs of traditional languages there is not the same freedom as in normal software development. SC software is expected to reflect these constrains on SC software metrics which should display metric values characteristic of the domain and different from more traditional software metrics. We tested this hypothesis on the code of more than twelve thousands SC written in Solidity and uploaded on the Ethereum blockchain. We downloaded the SC from a public repository and computed the statistics of a set of software metrics related to SC and compared them to the metrics extracted from more traditional software projects. Our results show that generally Smart Contracts metrics have ranges more restricted than the corresponding metrics in traditional software systems. Some of the stylized facts, like power law in the tail of the distribution of some metrics, are only approximate but the lines of code follow a log normal distribution which reminds of the same behavior already found in traditional software systems.Submitted Versio
- …